home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / pipnss / nsIASN1Sequence.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  6KB  |  182 lines

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIASN1Sequence.idl
  3.  */
  4.  
  5. #ifndef __gen_nsIASN1Sequence_h__
  6. #define __gen_nsIASN1Sequence_h__
  7.  
  8.  
  9. #ifndef __gen_nsISupports_h__
  10. #include "nsISupports.h"
  11. #endif
  12.  
  13. #ifndef __gen_nsIASN1Object_h__
  14. #include "nsIASN1Object.h"
  15. #endif
  16.  
  17. /* For IDL files that don't want to include root IDL files. */
  18. #ifndef NS_NO_VTABLE
  19. #define NS_NO_VTABLE
  20. #endif
  21. class nsIMutableArray; /* forward declaration */
  22.  
  23.  
  24. /* starting interface:    nsIASN1Sequence */
  25. #define NS_IASN1SEQUENCE_IID_STR "b6b957e6-1dd1-11b2-89d7-e30624f50b00"
  26.  
  27. #define NS_IASN1SEQUENCE_IID \
  28.   {0xb6b957e6, 0x1dd1, 0x11b2, \
  29.     { 0x89, 0xd7, 0xe3, 0x06, 0x24, 0xf5, 0x0b, 0x00 }}
  30.  
  31. /**
  32.  * This represents a sequence of ASN.1 objects,
  33.  * where ASN.1 is "Abstract Syntax Notation number One".
  34.  *
  35.  * Overview of how this ASN1 interface is intended to
  36.  * work.
  37.  *
  38.  * First off, the nsIASN1Sequence is any type in ASN1
  39.  * that consists of sub-elements (ie SEQUENCE, SET)
  40.  * nsIASN1Printable Items are all the other types that
  41.  * can be viewed by themselves without interpreting further.
  42.  * Examples would include INTEGER, UTF-8 STRING, OID.
  43.  * These are not intended to directly reflect the numberous
  44.  * types that exist in ASN1, but merely an interface to ease
  45.  * producing a tree display the ASN1 structure of any DER
  46.  * object.
  47.  *
  48.  * The additional state information carried in this interface
  49.  * makes it fit for being used as the data structure
  50.  * when working with visual reprenstation of ASN.1 objects
  51.  * in a human user interface, like in a tree widget
  52.  * where open/close state of nodes must be remembered.
  53.  *
  54.  * @status FROZEN
  55.  */
  56. class NS_NO_VTABLE nsIASN1Sequence : public nsIASN1Object {
  57.  public: 
  58.  
  59.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_IASN1SEQUENCE_IID)
  60.  
  61.   /**
  62.    *  The array of objects stored in the sequence.
  63.    */
  64.   /* attribute nsIMutableArray ASN1Objects; */
  65.   NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) = 0;
  66.   NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) = 0;
  67.  
  68.   /**
  69.    *  Whether the node at this position in the ASN.1 data structure
  70.    *  sequence contains sub elements understood by the
  71.    *  application.
  72.    */
  73.   /* attribute boolean isValidContainer; */
  74.   NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) = 0;
  75.   NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) = 0;
  76.  
  77.   /**
  78.    *  Whether the contained objects should be shown or hidden.
  79.    *  A UI implementation can use this flag to store the current
  80.    *  expansion state when shown in a tree widget.
  81.    */
  82.   /* attribute boolean isExpanded; */
  83.   NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) = 0;
  84.   NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) = 0;
  85.  
  86. };
  87.  
  88. /* Use this macro when declaring classes that implement this interface. */
  89. #define NS_DECL_NSIASN1SEQUENCE \
  90.   NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects); \
  91.   NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects); \
  92.   NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer); \
  93.   NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer); \
  94.   NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded); \
  95.   NS_IMETHOD SetIsExpanded(PRBool aIsExpanded); 
  96.  
  97. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  98. #define NS_FORWARD_NSIASN1SEQUENCE(_to) \
  99.   NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) { return _to GetASN1Objects(aASN1Objects); } \
  100.   NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) { return _to SetASN1Objects(aASN1Objects); } \
  101.   NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) { return _to GetIsValidContainer(aIsValidContainer); } \
  102.   NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) { return _to SetIsValidContainer(aIsValidContainer); } \
  103.   NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) { return _to GetIsExpanded(aIsExpanded); } \
  104.   NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) { return _to SetIsExpanded(aIsExpanded); } 
  105.  
  106. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  107. #define NS_FORWARD_SAFE_NSIASN1SEQUENCE(_to) \
  108.   NS_IMETHOD GetASN1Objects(nsIMutableArray * *aASN1Objects) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetASN1Objects(aASN1Objects); } \
  109.   NS_IMETHOD SetASN1Objects(nsIMutableArray * aASN1Objects) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetASN1Objects(aASN1Objects); } \
  110.   NS_IMETHOD GetIsValidContainer(PRBool *aIsValidContainer) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsValidContainer(aIsValidContainer); } \
  111.   NS_IMETHOD SetIsValidContainer(PRBool aIsValidContainer) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsValidContainer(aIsValidContainer); } \
  112.   NS_IMETHOD GetIsExpanded(PRBool *aIsExpanded) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsExpanded(aIsExpanded); } \
  113.   NS_IMETHOD SetIsExpanded(PRBool aIsExpanded) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsExpanded(aIsExpanded); } 
  114.  
  115. #if 0
  116. /* Use the code below as a template for the implementation class for this interface. */
  117.  
  118. /* Header file */
  119. class nsASN1Sequence : public nsIASN1Sequence
  120. {
  121. public:
  122.   NS_DECL_ISUPPORTS
  123.   NS_DECL_NSIASN1SEQUENCE
  124.  
  125.   nsASN1Sequence();
  126.  
  127. private:
  128.   ~nsASN1Sequence();
  129.  
  130. protected:
  131.   /* additional members */
  132. };
  133.  
  134. /* Implementation file */
  135. NS_IMPL_ISUPPORTS1(nsASN1Sequence, nsIASN1Sequence)
  136.  
  137. nsASN1Sequence::nsASN1Sequence()
  138. {
  139.   /* member initializers and constructor code */
  140. }
  141.  
  142. nsASN1Sequence::~nsASN1Sequence()
  143. {
  144.   /* destructor code */
  145. }
  146.  
  147. /* attribute nsIMutableArray ASN1Objects; */
  148. NS_IMETHODIMP nsASN1Sequence::GetASN1Objects(nsIMutableArray * *aASN1Objects)
  149. {
  150.     return NS_ERROR_NOT_IMPLEMENTED;
  151. }
  152. NS_IMETHODIMP nsASN1Sequence::SetASN1Objects(nsIMutableArray * aASN1Objects)
  153. {
  154.     return NS_ERROR_NOT_IMPLEMENTED;
  155. }
  156.  
  157. /* attribute boolean isValidContainer; */
  158. NS_IMETHODIMP nsASN1Sequence::GetIsValidContainer(PRBool *aIsValidContainer)
  159. {
  160.     return NS_ERROR_NOT_IMPLEMENTED;
  161. }
  162. NS_IMETHODIMP nsASN1Sequence::SetIsValidContainer(PRBool aIsValidContainer)
  163. {
  164.     return NS_ERROR_NOT_IMPLEMENTED;
  165. }
  166.  
  167. /* attribute boolean isExpanded; */
  168. NS_IMETHODIMP nsASN1Sequence::GetIsExpanded(PRBool *aIsExpanded)
  169. {
  170.     return NS_ERROR_NOT_IMPLEMENTED;
  171. }
  172. NS_IMETHODIMP nsASN1Sequence::SetIsExpanded(PRBool aIsExpanded)
  173. {
  174.     return NS_ERROR_NOT_IMPLEMENTED;
  175. }
  176.  
  177. /* End of implementation class template. */
  178. #endif
  179.  
  180.  
  181. #endif /* __gen_nsIASN1Sequence_h__ */
  182.